Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Java-Syntax
part 9/15 · 52.8 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Bei der Instanziierung eines eindimensionalen Feldes muss sowohl dessen Datentyp als auch die Anzahl der Elemente bekannt sein. Wie bereits am Anfang angemerkt ist die Länge eines Feldes auf nichtnegative ganzzahlige Werte beschränkt. Das Schlüsselwort new hat hier dieselbe Bedeutung wie bei allen anderen Objekten und legt eine Instanz des Typs an. Dabei wird der benötigte Speicher für das Objekt als auch für dessen Elemente reserviert. Im Gegensatz zu anderen Objekten verfügen Felder aber über keine Konstruktoren und es ist nicht möglich, durch explizite Ableitung Subtypen eines Feldtyps zu bilden.

Beispiel eines eindimensionalen Feldes des Typs int der Länge 3

int[] feld = new int[3]; // auf der linken Seite wird die Objektreferenz deklariert
// auf der rechten Seite wird das Feld initialisiert

Die Deklaration und Instanziierung muss nicht getrennt voneinander erfolgen, sondern kann wie üblich auch als eine Anweisung geschrieben werden. Beim Zugriff auf die Elemente ist zu beachten, dass Java mit dem Index 0 anfängt zu zählen. So wird in diesem Beispiel mit Index 0 auf das erste Element zugegriffen und mit Index 2 auf das letzte Element.

int[] feld = {1,2,3}

ist eine Verkürzung von

int[] feld = new int[3];
feld[0]=1;
feld[1]=2;
feld[2]=3;

Auslesen von Werten

int a = feld[0]; // das Auslesen erfolgt durch Angabe des Index
objekt.methode(feld[1]); // Einzelwerte eines Feldes können wie Variablen des gleichen Typs verwendet werden
int b = feld[3]; // würde in diesem Beispiel eine IndexOutOfBoundsException auslösen, da es kein 4. Element gibt

Zuweisung von Werten

feld[0] = 5; // Java ist "nullbasiert"
feld[1] = (int) 2.7; // bei Zuweisungen muss wie bei normalen Variablen der Typ angepasst werden
feld[2] = 0; // die Indexierung läuft immer bis n-1

Länge eines Feldes Viele Algorithmen benötigen die Länge eines Feldes, etwa um alle Einträge abzuarbeiten. Die Länge eines Feldes ist zur Laufzeit bekannt und kann über die Objektvariable length abgefragt werden, die selbst vom Typ int ist. Diese Variable ist stets konstant und kann nicht geändert werden. Eine Zuweisung eines anderen Wertes ist also nicht möglich.

int len = feld.length; // Liest die Länge des Feldes aus und speichert sie in der Variablen len
feld.length = 5; // diese Zuweisung würde einen Fehler beim Kompilieren ergeben, da sie nicht zulässig ist

Mehrdimensionale Felder

Wie bereits angemerkt, kennt Java keine mehrdimensionalen Felder. Dennoch können Felder ineinander verschachtelt werden, um so eine analoge Struktur zu erhalten. Ein zweidimensionales Feld ist dabei mit einer Tabelle vergleichbar, wobei das erste (äußere) indizierende Feld auf die Zeile verweisen würde. Die Zeile selbst ist wiederum ein Feld, dessen Indizes auf die Spalte der Zeile, also auf den entsprechenden Eintrag, verweist, wie es auch in der Abbildung ersichtlich ist.

In Java können mehrdimensionale Felder durch die Angabe mehrerer eckiger Klammerpaare [] realisiert werden, wobei jedes Paar für eine weitere Dimension des Feldes steht. Das äußere Feld, welches das nächstinnere indiziert, steht dabei auf der linken Seite, bzw. ist das Klammerpaar, das als erstes definiert wurde. Dies ist am Beispiel eines Bildes ersichtlich, das üblicherweise mit [y][x] indiziert werden würde, wobei hier zunächst die Zeile (y) ermittelt wird und anschließend die Spalte (x) aus der Zeile.

Beispiel der Erstellung eines zweidimensionalen Feldes

double[][] feld = new double[zeilen][spalten];

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────